﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Data;
using System.ComponentModel.DataAnnotations;
using BCCommon.OAEnums;

namespace BCDto.OA.WorkflowTemplate.WorkflowTemplateStepLineConfig
{
	/// <summary>
	/// 工作流模板步骤线配置
	/// </summary>
	public class WorkflowTemplateStepLineConfigRequestDto
	{
		/// <summary>
		/// 步骤流程线Code
		/// </summary>		
		[Display(Name = "步骤流程线Code")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(50, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string Id { get; set; }
		/// <summary>
		/// 路径类型(通过，驳回)
		/// </summary>		
		[Display(Name = "路径类型(通过，驳回)")]
		[Required(ErrorMessage = "{0} 不应为空")]
		public OAStepPathType PathType { get; set; }
		/// <summary>
		/// 路径类型(通过，驳回)
		/// </summary>		
		[Display(Name = "路径类型(通过，驳回)")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(10, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string PathTypeStr { get; set; }
		/// <summary>
		/// 颜色
		/// </summary>		
		[Display(Name = "颜色")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(10, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string Color { get; set; }
		/// <summary>
		/// 颜色
		/// </summary>		
		[Display(Name = "颜色")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(10, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string ColorStr { get; set; }
		/// <summary>
		/// 开始Id
		/// </summary>		
		[Display(Name = "开始Id")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(50, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string StartId { get; set; }
		/// <summary>
		/// 开始点Id
		/// </summary>		
		[Display(Name = "开始点Id")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(100, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string StartPointId { get; set; }
		/// <summary>
		/// 开始方向(上下左右)
		/// </summary>		
		[Display(Name = "开始方向(上下左右)")]
		[Required(ErrorMessage = "{0} 不应为空")]
		public OAStepNodePointDirection StartDirection { get; set; }
		/// <summary>
		/// 开始坐标
		/// </summary>		
		[Display(Name = "开始坐标")]
		[Required(ErrorMessage = "{0} 不应为空")]
		public List<double> StartCoordinate { get; set; }
		/// <summary>
		/// 结束Id
		/// </summary>		
		[Display(Name = "结束Id")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(50, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string EndId { get; set; }
		/// <summary>
		/// 结束点Id
		/// </summary>		
		[Display(Name = "结束点Id")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(100, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string EndPointId { get; set; }
		/// <summary>
		/// 结束方向(上下左右)
		/// </summary>		
		[Display(Name = "结束方向(上下左右)")]
		[Required(ErrorMessage = "{0} 不应为空")]
		public OAStepNodePointDirection EndDirection { get; set; }
		/// <summary>
		/// 结束坐标
		/// </summary>		
		[Display(Name = "结束坐标")]
		[Required(ErrorMessage = "{0} 不应为空")]
		public List<double> EndCoordinate { get; set; }
		/// <summary>
		/// Svg线Id
		/// </summary>		
		[Display(Name = "Svg线Id")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(200, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string SvgLineId { get; set; }
		/// <summary>
		/// 路径
		/// </summary>		
		[Display(Name = "路径")]
		public List<List<double>> Paths { get; set; }
	}
}

